package com.fdb.efp.nls.service.dao;

import com.fdb.efp.nls.service.domain.ColltSmsNoticeApp;
import com.fdb.efp.nls.service.vo.ColltSmsNoticeAppVO;

import java.util.List;


/**
 * DAO Interface: 催收短信通知申请表
 * @author ligm
 * @date 2019-08-27 
 */
public interface ColltSmsNoticeAppDao {
	
	/**
	 * 新增数据 
     * @param inColltSmsNoticeAppVo
	 * @return 
	 */
	public int insertColltSmsNoticeApp(ColltSmsNoticeApp colltSmsNoticeApp);

    /**
	 * 根据主键删除信息 
     * @param inColltSmsNoticeAppVo
	 * @return 
	 */
	public int deleteByPk(ColltSmsNoticeApp colltSmsNoticeApp);

    /**
	 * 根据主键更新信息 
     * @param inColltSmsNoticeAppVo
	 * @return 
	 */    
	public int updateByPk(ColltSmsNoticeApp colltSmsNoticeApp);

    /**
	 * 根据主键查询详情 
     * @param colltSmsNoticeApp
	 * @return 
	 */
    public ColltSmsNoticeApp queryByPk(ColltSmsNoticeApp colltSmsNoticeApp);

    /**
	 * 一级数据权限,默认查看当前用户对应的数据 
     * @param colltSmsNoticeApp
	 * @return 
	 */
	public List<ColltSmsNoticeApp> queryAllByLevelOneByPage(ColltSmsNoticeAppVO colltSmsNoticeApp);
	
    /**
	 * 二级数据权限,默认查看当前用户及所属机构对应的数据 
     * @param colltSmsNoticeApp
	 * @return 
	 */
	public List<ColltSmsNoticeApp> queryAllByLevelTwoByPage(ColltSmsNoticeAppVO colltSmsNoticeApp);
	
    /**
	 * 三级数据权限,默认查看当前用户所在机构及下属机构对应的数据 
     * @param colltSmsNoticeApp
	 * @return 
	 */
	public List<ColltSmsNoticeApp> queryAllByLevelThreeByPage(ColltSmsNoticeAppVO colltSmsNoticeApp);

    /**
	 * 四级数据权限,默认预留，便于后续自定义 
     * @param colltSmsNoticeApp
	 * @return 
	 */
    public List<ColltSmsNoticeApp> queryAllByLevelFourByPage(ColltSmsNoticeAppVO colltSmsNoticeApp);

    /**
     * TODO: 根据催收任务编号查询催收短信通知申请表
     * @author xiezw
     * @params  * @param null
     * @return
     * @date 2019/9/3 11:31
     * @version 0.1
     */
    public List<ColltSmsNoticeApp> queryByColltTaskNo(ColltSmsNoticeAppVO colltSmsNoticeApp);
}
